package com.fast.manager.system.service;

import java.util.List;

import com.fast.commons.service.BaseService;
import com.fast.manager.system.domain.Menu;

public interface MenuService extends BaseService<Menu> {
	
	/**
	 * 根据访问地址查询
	 * @param location
	 * @return
	 */
	public Menu getLocation(String location) ;
	
	/**
	 * 根据ID查询菜单
	 * @param location
	 * @return
	 */
	public Menu getMenuById(Long id) ;
	
	/**
	 * 查询所有一级的目录
	 * @return
	 */
	public List<Menu> findAllMenuByTopCatalog() ;
	
	/**
	 * 根据ID查询子目录
	 * @param catelog_id
	 * @return
	 */
	public List<Menu> findMenuChildByCatalog() ;
	
	/**
	 * 根据目录ID递归出tree
	 * @param catelog_id
	 * @return
	 */
	public List<Menu> findMenuChildrenByPid(Integer catelog_id) ;
	
	/**
	 * 根据ID查询，并关联权限表
	 * @param id
	 * @return
	 */
	public Menu getMenuByIdLinkPermit(Long id) ;
	
	/**
	 * 系统主页的左侧菜单
	 * @return
	 */
	public List<Menu> findAllMenuViewByTopCatalog() ;
	
	/**
	 * 系统主页的左侧菜单树
	 * @return
	 */
	public List<Menu> findMenuChildrenViewByPid(Integer catelog_id) ;
	
	/**
	 * 根据目录ID递归出tree
	 * @param id
	 * @return
	 */
	public List<Menu> treegrid() ;
	
}
